package br.com.salao.rest;

import java.util.List;

import javassist.NotFoundException;

import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;

import br.com.salao.bean.Estabelecimento;
import br.com.salao.bean.Login;
import br.com.salao.model.EstabelecimentoModel;
import br.com.salao.model.LoginModel;

@Path("/estabelecimento")
public class EstabelecimentoService {
	
	@GET
	@Path("/login/{login}")	
	@Produces({MediaType.APPLICATION_JSON})
	public List<Estabelecimento> buscarEstabelecimentosPorUsuario(@PathParam("login") int idLogin) throws NotFoundException{
		
		LoginModel loginModel = new LoginModel();
		Login login = loginModel.buscar(idLogin);
		
		EstabelecimentoModel model = new EstabelecimentoModel();
		List<Estabelecimento> listEstabelecimento =  model.buscarEstabelecimentosPorUsuario(login);
		
		if(listEstabelecimento == null){
			throw new NotFoundException("Estabelecimentos nao encontrados.");
		}
		
		return listEstabelecimento;
	}
	
	@GET
	@Path("/idEstabelecimento/{idEstabelecimento}")	
	@Produces({MediaType.APPLICATION_JSON})
	public Estabelecimento buscarEstabelecimentoPorId(@PathParam("idEstabelecimento") int idEstabelecimento){
		EstabelecimentoModel model = new EstabelecimentoModel();
		return model.buscarEstabelecimentoPorId(idEstabelecimento);
	}
	
	@GET
	@Path("/cidade/{idCidade}")	
	@Produces({MediaType.APPLICATION_JSON})
	public List<Estabelecimento> buscarEstabelecimentoPorCidade(@PathParam("idCidade") int idCidade){
		EstabelecimentoModel model = new EstabelecimentoModel();
		return model.buscarEstabelecimentoPorCidade(idCidade);
	}
	
	@GET
	@Path("/bairro/{idBairro}")	
	@Produces({MediaType.APPLICATION_JSON})
	public List<Estabelecimento> buscarEstabelecimentoPorBairro(@PathParam("idBairro")int idBairro){
		EstabelecimentoModel model = new EstabelecimentoModel();
		return model.buscarEstabelecimentoPorBairro(idBairro);
	}

}
